Cuando utilizamos operador de asignación (más comunmente conocido como =) para asignar un array –o un objeto– ya existente a una variable debemos tener en cuenta que no estamos almacenando una copia del array, sino una referencia al mismo.
Considérese:
var a = [ 1, 2, 3 ];
alert(a); // [ 1, 2, 3 ]
var b = a;
alert(b); // [ 1, 2, 3 ]
b.push(4);
alert(b); // [1, 2, 3, 4 ]
alert(a); // [ 1, 2, 3, 4 ] <-- `a` ha sido modificado indirectamente
Veamos como realizar una copia en lugar de almacenar una referencia. Continúa leyendo Copia de arrays y objetos
En javascript hay objetos, como arguments que parecen un array (podemos acceder a arguments[0] y arguments.length) pero no lo son y, por tanto, no podemos usar los métodos propios de un array (slice, pop,…) en estos objetos. ¿O sí podemos? Dan Webb explica un sucio truco en A Low-down, Dirty Goblin Of A Hack. Sin desperdicio.
Amigos y compañeros que vivís del desarrollo con PHP, he aquí para vuestro uso y disfrute algunas traducciones de sintaxis de PHP en lo que a arrays se refiere.
Continúa leyendo El Array explicado a los phperos
¿Ya conoces JSON, verdad? Se trata de un formato para intercambio de datos que toma su sintaxis de los literales de ECMAScript. Ventajas: más ligero que XML, más cómodo para trabajar con estructuras de datos, hay librerías que permiten trabajar con JSON disponibles para un buen puñado de lenguajes y… JSONT, un sistema de «plantillas» que permite transformar JSON en cualquier otra cosa a partir de una serie de reglas. Vaya, JSONT es a JSON como XSLT es a XML.
El uso de literales de objeto, además de servir para trapichear con hashes, permite mantener el código limpio y bien ordenadito. Chris Heilmann lo explica en Show love to the object literal.